package com.heima.controller;

import com.heima.dto.PostDto;
import com.heima.result.Result;
import com.heima.service.PostService;
import com.heima.vo.PageResult;
import com.heima.vo.PostVo;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@Slf4j
@RequestMapping("/system/post")
@Api(tags = "岗位管理模块")
public class PostController {
    @Autowired
    private PostService postService;

    /**
     * 岗位列表
     */
    @GetMapping("/list")
    public PageResult list(PostDto postDto){
        log.info("查询岗位列表:{}",postDto);
        return postService.list(postDto);
    }

    /**
     * 新增岗位
     */
    @PostMapping
    public void add(@RequestBody PostDto postDto){
        log.info("新增岗位:{}",postDto);
        postService.add(postDto);
    }

    /**
     * 根据id查询岗位
     */
    @GetMapping("/{id}")
    public PostVo getById(@PathVariable("id") Integer postId){
        log.info("根据id查询岗位:{}",postId);
        return postService.getById(postId);
    }

    /**
     * 批量删除岗位
     */
    @DeleteMapping("/{ids}")
    public void deleteById(@PathVariable("ids") List<Integer> PostIds){
        log.info("批量删除岗位:{}",PostIds);
        postService.deleteByIds(PostIds);
    }

    /**
     * 修改岗位
     */
    @PutMapping
    public Result update(@RequestBody PostDto postDto){
        log.info("修改岗位:{}",postDto);
        postService.updateCourse(postDto);
        return Result.success();
    }
}
